﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Emit;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace ModelLayer
{
    [DataContract]
    public class Achievement
    {
        public Achievement(string title, string description, string criteria, Status status, string category, string tag)
        {
            Title = title;
            Description = description;
            Criteria = criteria;
            CurrentStatus = status;
            Category = category;
            Tag = tag;
        }

        public Achievement()
        {
        }

        [DataMember]
        public int AchievementId { get; set; }

        [DataMember]
        public string Title { get; set; }

        [DataMember]
        public string Description { get; set; }

        [DataMember]
        public string Criteria { get; set; }

        public enum Status
        {
            Active = 0,
            InActive = 1
        }

        [DataMember]
        public string Category { get; set; }

        [DataMember]
        public string Tag { get; set; }

        [DataMember]
        public Status CurrentStatus { get; set; }

        [DataMember]
        public int AchievementStarterId { get; set; }

        [DataMember]
        public List<User> Participants { get; set; }
    }
}